package com.labmanager.JsonModule;

import java.security.MessageDigest;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 
 * @author tzcccy
 *
 */
public class RequestBase {


	public String getTimestamp() {
		return timestamp;
	}

	public void setTimestamp(String timestamp) {
		this.timestamp = timestamp;
	}

	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public String getEncrypt_method() {
		return encrypt_method;
	}

	public void setEncrypt_method(String encrypt_method) {
		this.encrypt_method = encrypt_method;
	}

	public String getSession() {
		return session;
	}

	public void setSession(String session) {
		this.session = session;
	}

	@JsonProperty("timestamp")
	private String timestamp;
	
	@JsonProperty("sign")
	private String sign;
	
	@JsonProperty("encrypt_method")
	private String encrypt_method;
	
	@JsonProperty("session")
	private String session;
	
	public static String MD5(String s) {  
        char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};         
  
        try {  
            byte[] btInput = s.getBytes();  
            // 获得MD5摘要算法的 MessageDigest 对象  
            MessageDigest mdInst = MessageDigest.getInstance("MD5");  
            // 使用指定的字节更新摘要  
            mdInst.update(btInput);  
            // 获得密文  
            byte[] md = mdInst.digest();  
            // 把密文转换成十六进制的字符串形式  
            int j = md.length;  
            char str[] = new char[j * 2];  
            int k = 0;  
            for (int i = 0; i < j; i++) {  
                byte byte0 = md[i];  
                str[k++] = hexDigits[byte0 >>> 4 & 0xf];  
                str[k++] = hexDigits[byte0 & 0xf];  
            }  
            return new String(str);  
        } catch (Exception e) {  
            e.printStackTrace();  
            return null;  
        }  
    }
	
	public boolean checkData() {
		if(encrypt_method == null || "".equals(encrypt_method) || timestamp == null || "".equals(timestamp)) {
			return false;
		}
		return true;
	}
	
	@Override
	public String toString() {
		return "session" + session + ":";
	}
}
